<!DOCTYPE html>



  


<html class="theme-next gemini use-motion" lang="zh-Hans">
<head>
  <meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<meta name="theme-color" content="#222">









<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
















  
  
  <link href="/lib/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" />







<link href="/lib/font-awesome/css/font-awesome.min.css?v=4.6.2" rel="stylesheet" type="text/css" />

<link href="/css/main.css?v=5.1.4" rel="stylesheet" type="text/css" />


  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png?v=5.1.4">


  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png?v=5.1.4">


  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png?v=5.1.4">


  <link rel="mask-icon" href="/images/logo.svg?v=5.1.4" color="#222">





  <meta name="keywords" content="Hexo, NexT" />










<meta name="description" content="面经一说明：说实话，看到这份面经，还是有点震惊原文链接 一面（视频面）  1小时30分钟1、类加载机制概念、加载步骤、双亲委托机制、全盘委托机制、类加载器种类及继承关系2、如何实现让类加载器去加载网络上的资源文件？怎么自定义类加载器？自定义的加载器还符合双亲委托机制吗？怎么打破双亲委托机制？ 类加载机制  3、实例化对象的方式有几种？ 用new语句创建对象，这是最常见的创建对象的方法。 通过工厂方">
<meta property="og:type" content="article">
<meta property="og:title" content="面经-互联网-京东">
<meta property="og:url" content="http://yoursite.com/2020/05/28/%E9%9D%A2%E7%BB%8F-%E4%BA%92%E8%81%94%E7%BD%91-%E4%BA%AC%E4%B8%9C/index.html">
<meta property="og:site_name" content="小蜗学习之旅">
<meta property="og:description" content="面经一说明：说实话，看到这份面经，还是有点震惊原文链接 一面（视频面）  1小时30分钟1、类加载机制概念、加载步骤、双亲委托机制、全盘委托机制、类加载器种类及继承关系2、如何实现让类加载器去加载网络上的资源文件？怎么自定义类加载器？自定义的加载器还符合双亲委托机制吗？怎么打破双亲委托机制？ 类加载机制  3、实例化对象的方式有几种？ 用new语句创建对象，这是最常见的创建对象的方法。 通过工厂方">
<meta property="article:published_time" content="2020-05-28T12:59:16.000Z">
<meta property="article:modified_time" content="2020-05-31T12:06:26.462Z">
<meta property="article:author" content="小蜗">
<meta property="article:tag" content="JAVA基础">
<meta name="twitter:card" content="summary">



<script type="text/javascript" id="hexo.configurations">
  var NexT = window.NexT || {};
  var CONFIG = {
    root: '/',
    scheme: 'Gemini',
    version: '5.1.4',
    sidebar: {"position":"left","display":"post","offset":12,"b2t":false,"scrollpercent":false,"onmobile":false},
    fancybox: true,
    tabs: true,
    motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
    duoshuo: {
      userId: '0',
      author: '博主'
    },
    algolia: {
      applicationID: '',
      apiKey: '',
      indexName: '',
      hits: {"per_page":10},
      labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
    }
  };
</script>



  <link rel="canonical" href="http://yoursite.com/2020/05/28/面经-互联网-京东/"/>





  <title>面经-互联网-京东 | 小蜗学习之旅</title>
  








<meta name="generator" content="Hexo 4.2.1"></head>

<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans">

  
  
    
  

  <div class="container sidebar-position-left page-post-detail">
    <div class="headband"></div>	
	<a href="https://github.com/xiaoawo" target="_blank" rel="noopener" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
	<a href="https://github.com/xiaoawo" target="_blank" rel="noopener" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>

    <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-wrapper">
  <div class="site-meta ">
    

    <div class="custom-logo-site-title">
      <a href="/"  class="brand" rel="start">
        <span class="logo-line-before"><i></i></span>
        <span class="site-title">小蜗学习之旅</span>
        <span class="logo-line-after"><i></i></span>
      </a>
    </div>
      
        <p class="site-subtitle"></p>
      
  </div>

  <div class="site-nav-toggle">
    <button>
      <span class="btn-bar"></span>
      <span class="btn-bar"></span>
      <span class="btn-bar"></span>
    </button>
  </div>
</div>

<nav class="site-nav">
  

  
    <ul id="menu" class="menu">
      
        
        <li class="menu-item menu-item-home">
          <a href="/home" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-home"></i> <br />
            
            首页
          </a>
        </li>
      
        
        <li class="menu-item menu-item-about">
          <a href="/about/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-user"></i> <br />
            
            关于
          </a>
        </li>
      
        
        <li class="menu-item menu-item-tags">
          <a href="/tags/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-tags"></i> <br />
            
            标签
          </a>
        </li>
      
        
        <li class="menu-item menu-item-categories">
          <a href="/categories/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-th"></i> <br />
            
            分类
          </a>
        </li>
      
        
        <li class="menu-item menu-item-archives">
          <a href="/archives/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-archive"></i> <br />
            
            归档
          </a>
        </li>
      
        
        <li class="menu-item menu-item-schedule">
          <a href="/schedule/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-calendar"></i> <br />
            
            日程表
          </a>
        </li>
      
        
        <li class="menu-item menu-item-sitemap">
          <a href="/sitemap.xml" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-sitemap"></i> <br />
            
            站点地图
          </a>
        </li>
      
        
        <li class="menu-item menu-item-commonweal">
          <a href="/404/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-heartbeat"></i> <br />
            
            公益404
          </a>
        </li>
      

      
    </ul>
  

  
</nav>



 </div>
    </header>

    <main id="main" class="main">
      <div class="main-inner">
        <div class="content-wrap">
          <div id="content" class="content">
            

  <div id="posts" class="posts-expand">
    

  

  
  
  

  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
  
  
  
  <div class="post-block">
    <link itemprop="mainEntityOfPage" href="http://yoursite.com/2020/05/28/%E9%9D%A2%E7%BB%8F-%E4%BA%92%E8%81%94%E7%BD%91-%E4%BA%AC%E4%B8%9C/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="name" content="小蜗">
      <meta itemprop="description" content="">
      <meta itemprop="image" content="/images/xiaoawo.jpg">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="小蜗学习之旅">
    </span>

    
      <header class="post-header">

        
        
          <h1 class="post-title" itemprop="name headline">面经-互联网-京东</h1>
        

        <div class="post-meta">
          <span class="post-time">
            
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              
                <span class="post-meta-item-text">发表于</span>
              
              <time title="创建于" itemprop="dateCreated datePublished" datetime="2020-05-28T20:59:16+08:00">
                2020-05-28
              </time>
            

            

            
          </span>

          
            <span class="post-category" >
            
              <span class="post-meta-divider">|</span>
            
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              
                <span class="post-meta-item-text">分类于</span>
              
              
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/%E9%9D%A2%E7%BB%8F-%E4%BA%92%E8%81%94%E7%BD%91-%E4%BA%AC%E4%B8%9C/" itemprop="url" rel="index">
                    <span itemprop="name">-面经 -互联网 -京东</span>
                  </a>
                </span>

                
                
              
            </span>
          

          
            
          

          
          

          

          

          

        </div>
      </header>
    

    
    
    
    <div class="post-body" itemprop="articleBody">

      
      

      
        <h2 id="面经一"><a href="#面经一" class="headerlink" title="面经一"></a>面经一</h2><h3 id="说明：说实话，看到这份面经，还是有点震惊"><a href="#说明：说实话，看到这份面经，还是有点震惊" class="headerlink" title="说明：说实话，看到这份面经，还是有点震惊"></a>说明：说实话，看到这份面经，还是有点震惊</h3><p><a href="https://www.nowcoder.com/discuss/432918" target="_blank" rel="noopener">原文链接</a></p>
<h3 id="一面（视频面）-1小时30分钟"><a href="#一面（视频面）-1小时30分钟" class="headerlink" title="一面（视频面）  1小时30分钟"></a>一面（视频面）  1小时30分钟</h3><h4 id="1、类加载机制概念、加载步骤、双亲委托机制、全盘委托机制、类加载器种类及继承关系"><a href="#1、类加载机制概念、加载步骤、双亲委托机制、全盘委托机制、类加载器种类及继承关系" class="headerlink" title="1、类加载机制概念、加载步骤、双亲委托机制、全盘委托机制、类加载器种类及继承关系"></a>1、类加载机制概念、加载步骤、双亲委托机制、全盘委托机制、类加载器种类及继承关系</h4><h4 id="2、如何实现让类加载器去加载网络上的资源文件？怎么自定义类加载器？自定义的加载器还符合双亲委托机制吗？怎么打破双亲委托机制？"><a href="#2、如何实现让类加载器去加载网络上的资源文件？怎么自定义类加载器？自定义的加载器还符合双亲委托机制吗？怎么打破双亲委托机制？" class="headerlink" title="2、如何实现让类加载器去加载网络上的资源文件？怎么自定义类加载器？自定义的加载器还符合双亲委托机制吗？怎么打破双亲委托机制？"></a>2、如何实现让类加载器去加载网络上的资源文件？怎么自定义类加载器？自定义的加载器还符合双亲委托机制吗？怎么打破双亲委托机制？</h4><ul>
<li><a href="https://xiaoawo.github.io/2020/05/28/JVM-类加载机制/" target="_blank" rel="noopener">类加载机制</a></li>
</ul>
<h4 id="3、实例化对象的方式有几种？"><a href="#3、实例化对象的方式有几种？" class="headerlink" title="3、实例化对象的方式有几种？"></a>3、实例化对象的方式有几种？</h4><ul>
<li>用new语句创建对象，这是最常见的创建对象的方法。</li>
<li>通过工厂方法返回对象，如：String str = String.valueOf(23); </li>
<li>运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。如：Object obj = Class.forName(“java.lang.Object”).newInstance(); </li>
<li>调用对象的clone()方法。</li>
<li>通过I/O流（包括反序列化），如运用反序列化手段，调用java.io.ObjectInputStream对象的 readObject()方法。</li>
</ul>
<h4 id="4、由Object类的clone方法引申到深复制和浅复制的区别"><a href="#4、由Object类的clone方法引申到深复制和浅复制的区别" class="headerlink" title="4、由Object类的clone方法引申到深复制和浅复制的区别"></a>4、由Object类的clone方法引申到深复制和浅复制的区别</h4><ul>
<li><a href="https://blog.csdn.net/one_Jachen/article/details/78246047" target="_blank" rel="noopener">Object类之clone()方法详解</a></li>
</ul>
<h4 id="5、反射的概念、用法、实践"><a href="#5、反射的概念、用法、实践" class="headerlink" title="5、反射的概念、用法、实践"></a>5、反射的概念、用法、实践</h4><ul>
<li><a href="https://blog.csdn.net/qq_38777614/article/details/80904894" target="_blank" rel="noopener">反射的概念、用法、实践</a></li>
</ul>
<h4 id="6、Java内存模型和JVM内存结构"><a href="#6、Java内存模型和JVM内存结构" class="headerlink" title="6、Java内存模型和JVM内存结构"></a>6、Java内存模型和JVM内存结构</h4><ul>
<li><a href="https://blog.csdn.net/weixin_40321672/article/details/84778940" target="_blank" rel="noopener">jvm内存模型和java内存模型</a><br>Java内存模型：每个线程有自己的工作内存，同时多个线程共享主内存</li>
</ul>
<h4 id="7、有一台4核8G的机器，该给JVM里的堆区和虚拟机栈分配多大的内存？（初始值、最大值、堆区年轻代和老年代的分配比例等等）"><a href="#7、有一台4核8G的机器，该给JVM里的堆区和虚拟机栈分配多大的内存？（初始值、最大值、堆区年轻代和老年代的分配比例等等）" class="headerlink" title="7、有一台4核8G的机器，该给JVM里的堆区和虚拟机栈分配多大的内存？（初始值、最大值、堆区年轻代和老年代的分配比例等等）"></a>7、有一台4核8G的机器，该给JVM里的堆区和虚拟机栈分配多大的内存？（初始值、最大值、堆区年轻代和老年代的分配比例等等）</h4><ul>
<li>堆区尽量接近8G，同时考虑可能使用的线程数（一般每个虚拟机栈为1m）  </li>
<li>新生代/老年代=3/8，结合实际运行情况，对象年龄的分布  </li>
</ul>
<h4 id="8、堆内存中的年轻代分配内存过少或过多分别有什么影响？复制算法会导致Stop-the-World吗？"><a href="#8、堆内存中的年轻代分配内存过少或过多分别有什么影响？复制算法会导致Stop-the-World吗？" class="headerlink" title="8、堆内存中的年轻代分配内存过少或过多分别有什么影响？复制算法会导致Stop-the-World吗？"></a>8、堆内存中的年轻代分配内存过少或过多分别有什么影响？复制算法会导致Stop-the-World吗？</h4><p>过少：新生代GC频繁<br>过多：老年代GC频繁</p>
<p>Stop-the-World：是为了在枚举根节点的过程中，对象引用关系不可以再改变，所以只要有枚举根节点这一操作，就必须Stop-the-World</p>
<h4 id="9、哪些参数可以设置JVM中的内存分配？"><a href="#9、哪些参数可以设置JVM中的内存分配？" class="headerlink" title="9、哪些参数可以设置JVM中的内存分配？"></a>9、哪些参数可以设置JVM中的内存分配？</h4><ul>
<li>-Xms:n</li>
<li>-Xmx:n</li>
<li>-XX:NewSize=n</li>
<li>-XX:NewRatio=n</li>
<li>-XX:SurvivorRatio=n</li>
<li>-XX:MaxPermSize=n</li>
</ul>
<p><a href="https://xiaoawo.github.io/2020/05/29/JVM-调优/" target="_blank" rel="noopener"><strong>7,8,9详细</strong></a></p>
<h4 id="10、需要在线程范围内去共享一个变量，怎么实现？ThreadLocal源码实现、Key弱引用导致的内存泄露、怎么避免？-（这道题我一直理解成在多个线程之间去共享变量，说了volatile，面试官一直说不对，后来我猜意识到是在线程范围内共享变量…-）"><a href="#10、需要在线程范围内去共享一个变量，怎么实现？ThreadLocal源码实现、Key弱引用导致的内存泄露、怎么避免？-（这道题我一直理解成在多个线程之间去共享变量，说了volatile，面试官一直说不对，后来我猜意识到是在线程范围内共享变量…-）" class="headerlink" title="10、需要在线程范围内去共享一个变量，怎么实现？ThreadLocal源码实现、Key弱引用导致的内存泄露、怎么避免？     （这道题我一直理解成在多个线程之间去共享变量，说了volatile，面试官一直说不对，后来我猜意识到是在线程范围内共享变量….）"></a>10、需要在线程范围内去共享一个变量，怎么实现？ThreadLocal源码实现、Key弱引用导致的内存泄露、怎么避免？     （这道题我一直理解成在多个线程之间去共享变量，说了volatile，面试官一直说不对，后来我猜意识到是在线程范围内共享变量….）</h4><ul>
<li><a href="https://xiaoawo.github.io/2020/05/29/JAVA多线程-线程间通信/" target="_blank" rel="noopener">线程间通信</a></li>
</ul>
<h4 id="11、volatile的作用、实现机制、缓存一致性实现"><a href="#11、volatile的作用、实现机制、缓存一致性实现" class="headerlink" title="11、volatile的作用、实现机制、缓存一致性实现"></a>11、volatile的作用、实现机制、缓存一致性实现</h4><ul>
<li><a href="https://www.jianshu.com/p/9abb4a23ab05" target="_blank" rel="noopener">volatile</a></li>
</ul>
<h4 id="12、AtomicInteger原子类的作用、源码实现机制"><a href="#12、AtomicInteger原子类的作用、源码实现机制" class="headerlink" title="12、AtomicInteger原子类的作用、源码实现机制"></a>12、AtomicInteger原子类的作用、源码实现机制</h4><ul>
<li><a href="https://xiaoawo.github.io/2020/05/29/JAVA多线程-原子类/" target="_blank" rel="noopener">原子类</a></li>
</ul>
<h4 id="13、CAS无锁算法概念、源码实现机制、Unsafe类源码延伸到HotSpot虚拟机对应的C-方法再延伸对应的汇编函数"><a href="#13、CAS无锁算法概念、源码实现机制、Unsafe类源码延伸到HotSpot虚拟机对应的C-方法再延伸对应的汇编函数" class="headerlink" title="13、CAS无锁算法概念、源码实现机制、Unsafe类源码延伸到HotSpot虚拟机对应的C++方法再延伸对应的汇编函数"></a>13、CAS无锁算法概念、源码实现机制、Unsafe类源码延伸到HotSpot虚拟机对应的C++方法再延伸对应的汇编函数</h4><ul>
<li>貌似和12差不多</li>
</ul>
<h4 id="14、ReentrantLock中非公平锁的源码实现、AQS源码实现、为什么需要自旋锁？锁膨胀的过程？"><a href="#14、ReentrantLock中非公平锁的源码实现、AQS源码实现、为什么需要自旋锁？锁膨胀的过程？" class="headerlink" title="14、ReentrantLock中非公平锁的源码实现、AQS源码实现、为什么需要自旋锁？锁膨胀的过程？"></a>14、ReentrantLock中非公平锁的源码实现、AQS源码实现、为什么需要自旋锁？锁膨胀的过程？</h4><ul>
<li><a href="https://mp.weixin.qq.com/s?__biz=MzI0MzI1Mjg5Nw==&mid=2247483689&idx=1&sn=4bd727cc4991e54e273e099010c82d3b&chksm=e96eaae7de1923f14db6ab744331c5f3ea1176af0cfd16df598f9e8817f2e4512dae6dd17d16&token=860755966&lang=zh_CN&scene=21#wechat_redirect" target="_blank" rel="noopener">Synchronized1</a></li>
<li><a href="https://xiaoawo.github.io/2020/05/29/JAVA多线程-ReentrantLock/" target="_blank" rel="noopener">ReentrantLock</a></li>
<li><a href="https://segmentfault.com/a/1190000017372067" target="_blank" rel="noopener">AQS</a></li>
<li>自旋锁，认为知道当前线程自旋一小会，就可以获取到锁了，而自旋引起的开销，相比于重量级锁，无疑小了很多</li>
</ul>
<h4 id="15、线程池的使用场景、常用参数、拒绝策略"><a href="#15、线程池的使用场景、常用参数、拒绝策略" class="headerlink" title="15、线程池的使用场景、常用参数、拒绝策略"></a>15、线程池的使用场景、常用参数、拒绝策略</h4><ul>
<li><a href="https://www.jianshu.com/p/7726c70cdc40" target="_blank" rel="noopener">优势及工作原理</a></li>
<li><a href="https://www.cnblogs.com/CarpenterLee/p/9558026.html" target="_blank" rel="noopener">使用</a></li>
<li><a href="https://www.jianshu.com/p/71b5e40f94e0" target="_blank" rel="noopener">应用场景</a></li>
</ul>
<h4 id="16、阻塞队列的种类、底层数据结构和使用场景"><a href="#16、阻塞队列的种类、底层数据结构和使用场景" class="headerlink" title="16、阻塞队列的种类、底层数据结构和使用场景"></a>16、阻塞队列的种类、底层数据结构和使用场景</h4><ul>
<li><a href="https://blog.csdn.net/littlewhitevg/article/details/105623362" target="_blank" rel="noopener"><strong>阻塞队列</strong></a></li>
</ul>
<h4 id="17、手写BIO的Socket编程、BIO和NIO的区别"><a href="#17、手写BIO的Socket编程、BIO和NIO的区别" class="headerlink" title="17、手写BIO的Socket编程、BIO和NIO的区别"></a>17、手写BIO的Socket编程、BIO和NIO的区别</h4><h4 id="18、Netty线程模型、零拷贝、粘包拆包、心跳机制、Pipeline源码"><a href="#18、Netty线程模型、零拷贝、粘包拆包、心跳机制、Pipeline源码" class="headerlink" title="18、Netty线程模型、零拷贝、粘包拆包、心跳机制、Pipeline源码"></a>18、Netty线程模型、零拷贝、粘包拆包、心跳机制、Pipeline源码</h4><h4 id="19、责任链模型、策略模式、模板模式、设计模式里的原则"><a href="#19、责任链模型、策略模式、模板模式、设计模式里的原则" class="headerlink" title="19、责任链模型、策略模式、模板模式、设计模式里的原则"></a>19、责任链模型、策略模式、模板模式、设计模式里的原则</h4><p>20、Top K问题，找到上千万个数字中从大到小的前10个数字<br>21、MySQL中的聚集索引和稀疏索引区别、索引是越多越好吗？什么样的字段适合建索引？<br>22、索引覆盖和回表的概念、怎么避免回表？<br>23、为什么采用B+树而不用AVL树？<br>24、事务的底层实现<br>25、MVCC的概念及实现机制<br>26、Redis为什么这么快？为什么不用多线程？<br>27、哈希表查询的时间复杂度、哈希冲突的解决方法？<br>28、Sorted Set的应用场景、跳表的实现、查询和插入的时间复杂度？<br>29、Dubbo的应用场景、底层通信组件、服务降级、负载均衡、接口暴露、序列化方式、让你实现一个简单的RPC框架你会怎么做？<br>30、Zookeeper的应用场景、watch机制、领导者选举算法、ZK实现分布式锁<br>31、对称加密、非对称加密、数字证书、HTTPS的连接过程、SSL加密一定安全吗？SSL在哪一层实现加密？<br>32、OSI七层协议？路由器工作在那一层？HTTP、TCP、FTP、DNS工作在哪一层？<br>33、ARP协议的作用及流程<br>34、Git的操作、代码冲突的解决方法<br>35、Redis的缓存穿透、缓存雪崩、数据一致性的解决方案<br>36、Elasticsearch的倒排索引、index和document的概念、脑裂问题<br>37、RabbitMQ应用场景、生产/消费者和发布/订阅模式概念和应用、数据丢失问题<br>38、商品超卖的解决方法、MySQL乐观锁和Redis乐观锁<br>39、手写SQL：有一个成绩表，表里有三个字段分别是姓名、课程和成绩，求课程平均分大于85分的学生姓名和平均成绩。<br>40、算法：写归并排序和快排、分析时间复杂度、怎么评定是不是一个稳定的排序算法？<br>二面（视频面） 50分钟<br>1、Hashmap和Concurrenthashmap<br>2、线程池核心参数、拒绝策略<br>3、SynchroQueue的应用场景？ 可以存几个元素？<br>4、Lock的公平锁和非公平锁的怎么实现的<br>5、说说AQS<br>6、Lock是怎么给线程分配锁的？<br>7、Spring Bean的生命周期<br>8、说一说Spring的AOP<br>9、SpringBoot启动过程的源码<br>10、怎么学习开源框架<br>11、Netty零拷贝？心跳机制？粘包拆包？<br>12、ASM怎么实现cglib<br>13、说一说数据库有哪些索引？聚簇索引和非聚簇索引区别？什么是索引覆盖和回表？什么是索引下推？<br>14、二叉树和B+树的区别<br>15、了解哪些常用的Linux命令<br>16、Linux根目录下有哪些文件夹<br>17、JVM常用命令<br>18、jstat的常用参数<br>19、进程通信方式<br>20、Linux线程调度方式<br>21、Linux的缓存有几级<br>22、Redis的删除策略？<br>22、什么是分布式？分布式和微服务有什么联系？CAP理论听过吗？为什么CAP理论最多职能满足两个？<br>23、算法：环形链表入口<br>HR面（电话面） 18分钟     没有自我介绍，直入主题。<br>1、你觉得笔试难度怎么样？<br>2、我看你前几轮的综合成绩都蛮高的，未来想在北京发展吗？<br>3、像广州深圳杭州互联网公司都很多，为什么投了北京的岗位呢？<br>4、我可能比较直白一点，你的学历在我们这些候选人里面是比较低的，你觉得你的优势在哪里？<br>5、想过考研吗？不考研的话未来可能几年后你觉得有能力能胜任这些工作吗？<br>6、你觉得为什么自己没有上一些比较好的学校？专业是自己选的吗？<br>7、实习时长？给前两轮面试官一个评价？</p>

      
    </div>
    
    
    

    

    

    

    <footer class="post-footer">
      

      
      
      

      
        <div class="post-nav">
          <div class="post-nav-next post-nav-item">
            
              <a href="/2020/05/28/MySQL-SQL/" rel="next" title="MySQL-SQL">
                <i class="fa fa-chevron-left"></i> MySQL-SQL
              </a>
            
          </div>

          <span class="post-nav-divider"></span>

          <div class="post-nav-prev post-nav-item">
            
              <a href="/2020/05/28/JVM-%E7%B1%BB%E5%8A%A0%E8%BD%BD%E6%9C%BA%E5%88%B6/" rel="prev" title="JVM-类加载机制">
                JVM-类加载机制 <i class="fa fa-chevron-right"></i>
              </a>
            
          </div>
        </div>
      

      
      
    </footer>
  </div>
  
  
  
  </article>



    <div class="post-spread">
      
    </div>
  </div>


          </div>
          


          

  



        </div>
        
          
  
  <div class="sidebar-toggle">
    <div class="sidebar-toggle-line-wrap">
      <span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
    </div>
  </div>

  <aside id="sidebar" class="sidebar">
    
    <div class="sidebar-inner">

      

      
        <ul class="sidebar-nav motion-element">
          <li class="sidebar-nav-toc sidebar-nav-active" data-target="post-toc-wrap">
            文章目录
          </li>
          <li class="sidebar-nav-overview" data-target="site-overview-wrap">
            站点概览
          </li>
        </ul>
      

      <section class="site-overview-wrap sidebar-panel">
        <div class="site-overview">
          <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
            
              <img class="site-author-image" itemprop="image"
                src="/images/xiaoawo.jpg"
                alt="小蜗" />
            
              <p class="site-author-name" itemprop="name">小蜗</p>
              <p class="site-description motion-element" itemprop="description">凡心所向，素履所往，生如逆旅，一苇以航</p>
          </div>

          <nav class="site-state motion-element">

            
              <div class="site-state-item site-state-posts">
              
                <a href="/archives/%7C%7C%20archive">
              
                  <span class="site-state-item-count">25</span>
                  <span class="site-state-item-name">日志</span>
                </a>
              </div>
            

            
              
              
              <div class="site-state-item site-state-categories">
                <a href="/categories/index.html">
                  <span class="site-state-item-count">9</span>
                  <span class="site-state-item-name">分类</span>
                </a>
              </div>
            

            

          </nav>

          

          

          
          

          
          

          

        </div>
      </section>

      
      <!--noindex-->
        <section class="post-toc-wrap motion-element sidebar-panel sidebar-panel-active">
          <div class="post-toc">

            
              
            

            
              <div class="post-toc-content"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#面经一"><span class="nav-number">1.</span> <span class="nav-text">面经一</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#说明：说实话，看到这份面经，还是有点震惊"><span class="nav-number">1.1.</span> <span class="nav-text">说明：说实话，看到这份面经，还是有点震惊</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#一面（视频面）-1小时30分钟"><span class="nav-number">1.2.</span> <span class="nav-text">一面（视频面）  1小时30分钟</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#1、类加载机制概念、加载步骤、双亲委托机制、全盘委托机制、类加载器种类及继承关系"><span class="nav-number">1.2.1.</span> <span class="nav-text">1、类加载机制概念、加载步骤、双亲委托机制、全盘委托机制、类加载器种类及继承关系</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#2、如何实现让类加载器去加载网络上的资源文件？怎么自定义类加载器？自定义的加载器还符合双亲委托机制吗？怎么打破双亲委托机制？"><span class="nav-number">1.2.2.</span> <span class="nav-text">2、如何实现让类加载器去加载网络上的资源文件？怎么自定义类加载器？自定义的加载器还符合双亲委托机制吗？怎么打破双亲委托机制？</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#3、实例化对象的方式有几种？"><span class="nav-number">1.2.3.</span> <span class="nav-text">3、实例化对象的方式有几种？</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#4、由Object类的clone方法引申到深复制和浅复制的区别"><span class="nav-number">1.2.4.</span> <span class="nav-text">4、由Object类的clone方法引申到深复制和浅复制的区别</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#5、反射的概念、用法、实践"><span class="nav-number">1.2.5.</span> <span class="nav-text">5、反射的概念、用法、实践</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#6、Java内存模型和JVM内存结构"><span class="nav-number">1.2.6.</span> <span class="nav-text">6、Java内存模型和JVM内存结构</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#7、有一台4核8G的机器，该给JVM里的堆区和虚拟机栈分配多大的内存？（初始值、最大值、堆区年轻代和老年代的分配比例等等）"><span class="nav-number">1.2.7.</span> <span class="nav-text">7、有一台4核8G的机器，该给JVM里的堆区和虚拟机栈分配多大的内存？（初始值、最大值、堆区年轻代和老年代的分配比例等等）</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#8、堆内存中的年轻代分配内存过少或过多分别有什么影响？复制算法会导致Stop-the-World吗？"><span class="nav-number">1.2.8.</span> <span class="nav-text">8、堆内存中的年轻代分配内存过少或过多分别有什么影响？复制算法会导致Stop-the-World吗？</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#9、哪些参数可以设置JVM中的内存分配？"><span class="nav-number">1.2.9.</span> <span class="nav-text">9、哪些参数可以设置JVM中的内存分配？</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#10、需要在线程范围内去共享一个变量，怎么实现？ThreadLocal源码实现、Key弱引用导致的内存泄露、怎么避免？-（这道题我一直理解成在多个线程之间去共享变量，说了volatile，面试官一直说不对，后来我猜意识到是在线程范围内共享变量…-）"><span class="nav-number">1.2.10.</span> <span class="nav-text">10、需要在线程范围内去共享一个变量，怎么实现？ThreadLocal源码实现、Key弱引用导致的内存泄露、怎么避免？     （这道题我一直理解成在多个线程之间去共享变量，说了volatile，面试官一直说不对，后来我猜意识到是在线程范围内共享变量….）</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#11、volatile的作用、实现机制、缓存一致性实现"><span class="nav-number">1.2.11.</span> <span class="nav-text">11、volatile的作用、实现机制、缓存一致性实现</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#12、AtomicInteger原子类的作用、源码实现机制"><span class="nav-number">1.2.12.</span> <span class="nav-text">12、AtomicInteger原子类的作用、源码实现机制</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#13、CAS无锁算法概念、源码实现机制、Unsafe类源码延伸到HotSpot虚拟机对应的C-方法再延伸对应的汇编函数"><span class="nav-number">1.2.13.</span> <span class="nav-text">13、CAS无锁算法概念、源码实现机制、Unsafe类源码延伸到HotSpot虚拟机对应的C++方法再延伸对应的汇编函数</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#14、ReentrantLock中非公平锁的源码实现、AQS源码实现、为什么需要自旋锁？锁膨胀的过程？"><span class="nav-number">1.2.14.</span> <span class="nav-text">14、ReentrantLock中非公平锁的源码实现、AQS源码实现、为什么需要自旋锁？锁膨胀的过程？</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#15、线程池的使用场景、常用参数、拒绝策略"><span class="nav-number">1.2.15.</span> <span class="nav-text">15、线程池的使用场景、常用参数、拒绝策略</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#16、阻塞队列的种类、底层数据结构和使用场景"><span class="nav-number">1.2.16.</span> <span class="nav-text">16、阻塞队列的种类、底层数据结构和使用场景</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#17、手写BIO的Socket编程、BIO和NIO的区别"><span class="nav-number">1.2.17.</span> <span class="nav-text">17、手写BIO的Socket编程、BIO和NIO的区别</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#18、Netty线程模型、零拷贝、粘包拆包、心跳机制、Pipeline源码"><span class="nav-number">1.2.18.</span> <span class="nav-text">18、Netty线程模型、零拷贝、粘包拆包、心跳机制、Pipeline源码</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#19、责任链模型、策略模式、模板模式、设计模式里的原则"><span class="nav-number">1.2.19.</span> <span class="nav-text">19、责任链模型、策略模式、模板模式、设计模式里的原则</span></a></li></ol></li></ol></li></ol></div>
            

          </div>
        </section>
      <!--/noindex-->
      

      

    </div>
  </aside>


        
      </div>
    </main>

    <footer id="footer" class="footer">
      <div class="footer-inner">
        <div class="copyright">&copy; <span itemprop="copyrightYear">2020</span>
  <span class="with-love">
    <i class="fa fa-user"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">小蜗</span>

  
</div>


  <div class="powered-by">由 <a class="theme-link" target="_blank" href="https://hexo.io">Hexo</a> 强力驱动</div>



  <span class="post-meta-divider">|</span>



  <div class="theme-info">主题 &mdash; <a class="theme-link" target="_blank" href="https://github.com/iissnan/hexo-theme-next">NexT.Gemini</a> v5.1.4</div>




        







        
      </div>
    </footer>

    
      <div class="back-to-top">
        <i class="fa fa-arrow-up"></i>
        
      </div>
    

    

  </div>

  

<script type="text/javascript">
  if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
    window.Promise = null;
  }
</script>









  


  



  
  









  
  
    <script type="text/javascript" src="/lib/jquery/index.js?v=2.1.3"></script>
  

  
  
    <script type="text/javascript" src="/lib/fastclick/lib/fastclick.min.js?v=1.0.6"></script>
  

  
  
    <script type="text/javascript" src="/lib/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>
  

  
  
    <script type="text/javascript" src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
  

  
  
    <script type="text/javascript" src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
  

  
  
    <script type="text/javascript" src="/lib/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
  

  
  
    <script type="text/javascript" src="/lib/canvas-nest/canvas-nest.min.js"></script>
  

  
  
    <script type="text/javascript" src="/lib/three/three.min.js"></script>
  

  
  
    <script type="text/javascript" src="/lib/three/three-waves.min.js"></script>
  


  


  <script type="text/javascript" src="/js/src/utils.js?v=5.1.4"></script>

  <script type="text/javascript" src="/js/src/motion.js?v=5.1.4"></script>



  
  


  <script type="text/javascript" src="/js/src/affix.js?v=5.1.4"></script>

  <script type="text/javascript" src="/js/src/schemes/pisces.js?v=5.1.4"></script>



  
  <script type="text/javascript" src="/js/src/scrollspy.js?v=5.1.4"></script>
<script type="text/javascript" src="/js/src/post-details.js?v=5.1.4"></script>



  


  <script type="text/javascript" src="/js/src/bootstrap.js?v=5.1.4"></script>



  


  




	





  





  












  





  

  

  

  
  

  

  

  

</body>
</html>
